package com.movie.service;

import com.movie.dto.PermissionDTO;
import com.movie.dto.RoleDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface PermissionService {
    
    Page<RoleDTO> getRoleList(Pageable pageable);
    
    RoleDTO getRoleDetail(Long roleId);
    
    RoleDTO createRole(RoleDTO roleDTO);
    
    RoleDTO updateRole(Long roleId, RoleDTO roleDTO);
    
    void deleteRole(Long roleId);
    
    List<PermissionDTO> getPermissionList();
    
    void updateRolePermissions(Long roleId, List<Long> permissionIds);
    
    List<RoleDTO> getUserRoles(Long userId);
    
    void assignUserRoles(Long userId, List<Long> roleIds);
}